package com.jetinno.utils;

import android.text.TextUtils;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import timber.log.Timber;

/**
 * Created by zhangyuncai.
 * Date: 2022/3/9
 */
public class PrintHelper {
    private static String LINE_SEPARATOR = System.getProperty("line.separator");


    /**
     * 以Json格式排版打印
     *
     * @param src
     * @return
     */
    public static void printLayoutJson(Object src) {
        Timber.e(layoutJson(src));
    }

    /**
     * 将对象以Json格式排版
     *
     * @param src
     * @return
     */
    public static String layoutJson(Object src) {
        if (src == null) {
            return "";
        }
        String msg;
        if (src instanceof String) {
            msg = (String) src;
        } else {
            msg = JsonUtil.anyToJson(src);
        }

        String message;

        try {
            if (msg.startsWith("{")) {
                JSONObject jsonObject = new JSONObject(msg);
                message = jsonObject.toString(4);//最重要的方法，就一行，返回格式化的json字符串，其中的数字4是缩进字符数
            } else if (msg.startsWith("[")) {
                JSONArray jsonArray = new JSONArray(msg);
                message = jsonArray.toString(4);
            } else {
                message = msg;
            }
        } catch (JSONException e) {
            message = msg;
        }

        String[] lines = message.split(LINE_SEPARATOR);
        return TextUtils.join("\n", lines);
    }


}
